Skip to main content

Basic concepts

Cloud Computing Benefits

  • High availability: Depending on the service level agreement (SLA) you choose, cloud-based applications can provide a continuous user experience without significant downtime, even in the event of a failure.
  • Scalability: Applications in the cloud can be scaled vertically or horizontally.
    • Vertical scaling can be done by adding RAM or CPU to a virtual machine to increase compute capacity.
    • Horizontal scaling can add compute capacity by adding instances of resources (e.g. adding VMs to the configuration).
  • Elasticity: Cloud-based application configurations can be automatically scaled as needed so that applications always have the resources they need.
  • Agile: Rapidly deploy and provision cloud-based resources as application requirements change.
  • Regional Distribution: Enables applications and data to be deployed to regional data centres around the world, ensuring customers always have the best performance in their region.
  • Disaster Recovery: By leveraging cloud-based backup services, data replication and geographic distribution, you can deploy applications with the confidence of knowing that your data is safe in the event of a disaster.

Cloud models

Public Cloud

Services are provided over the public Internet and are available to anyone who wants to purchase them. Cloud resources (such as servers and storage) are owned and operated by a third party cloud service provider and are made available over the Internet.

Private Cloud

A private cloud consists of computing resources that are dedicated to the users of a particular business or organisation. Private clouds can be physically located in an organisation's on-site (local) data centre or hosted by a third party service provider.

Hybrid clouds

A hybrid cloud is a computing environment that allows data and applications to be shared with each other, blending public and private clouds.

Comparison of cloud models

Public cloud

  • Can be scaled up without capital expenditure.
  • Applications can be pre-provisioned and de-provisioned quickly.
  • Organisations only pay for what they use.

Private Cloud

  • Hardware must be purchased to start and maintain.
  • The organisation has full control over resources and security.
  • The organisation is responsible for hardware maintenance and updates.

Hybrid cloud

  • Offers maximum flexibility.
  • The organisation determines where to run applications.
  • Organisation controls security, compliance or legal requirements.

Cloud service model

IaaS - Infrastructure as a Service

This cloud service model is the closest to managing physical servers; the cloud provider will keep the hardware up to date, but OS maintenance and network configuration will need to be done by you as the cloud tenant. For example, an Azure virtual machine is a fully operational virtual computing device running in a Microsoft data centre. The advantage of this cloud service model is the rapid deployment of new computing devices. Setting up a new virtual machine is much faster than sourcing, installing and configuring a physical server.

PaaS - Platform as a Service

This cloud service model is a hosted hosting environment. The cloud provider manages the virtual machines and network resources, and the cloud tenant deploys their applications to the hosted hosting environment. For example, Azure Application Services provides a hosted hosting environment where developers can upload their web applications without having to worry about physical hardware and software requirements.

SaaS - Software as a Service

In this cloud service model, the cloud provider manages all aspects of the application environment, such as virtual machines, network resources, data storage and applications. The cloud tenant only has to provide data to the applications managed by the cloud provider. For example, Microsoft Office 365 provides a fully available version of Microsoft Office running in the cloud. You just create the content and Office 365 takes care of everything else.

! Diagram of services separated by cloud service models.

IaaS

IaaS is the most flexible category of cloud services. It is designed to give you complete control over the hardware that runs your applications. With IaaS, you rent the hardware rather than buying it.

Benefits

  • No CapEx: no upfront costs for users.

  • Agile: Quick access to applications and unconfiguration when needed.

  • Management: Shared responsibility model applies; subscribers manage and maintain their pre-configured services, cloud providers manage and maintain the cloud infrastructure.

  • Usage-based model: Organisations only pay for what they use and operate under the Operational Expense (OpEx) model.

  • Skills: Deploying, using and reaping the benefits of a public cloud does not require deep technical skills. Organisations can leverage the skills and expertise of the cloud provider to ensure the security and high availability of workloads.

  • Cloud Advantage: Organizations can leverage the skills and expertise of cloud providers to ensure the security and high availability of workloads.

  • Flexibility: IaaS is the most flexible cloud service because you can control the configuration and management of the hardware that runs your applications.

PaaS

PaaS has the same benefits and caveats as IaaS, but there are some other advantages worth noting.

Benefits

  • No CapEx: No upfront cost to the user.

  • Agile: PaaS is more agile than IaaS and users don't need to configure servers to run applications.

  • Usage-based model: Users only pay for what they use and operate under the OpEx model.

  • Skills: Deploying, using and reaping the benefits of PaaS does not require deep technical skills.

  • Cloud Advantage: Users can leverage the skills and expertise of their cloud provider to ensure the security and high availability of their workloads. In addition, users have access to more cutting-edge development tools. They can then apply these tools throughout the lifecycle of their applications.

  • Productivity: Since the cloud provider handles all platform management, users can focus on application development. It is easier to work with decentralised teams (as a service) as the platform can be accessed via the Internet. The platform can be used more easily on a global scale.

Disadvantages

  • Platform limitations: Cloud platforms may have some limitations that may affect the operation of applications. When evaluating which PaaS platform is best suited to a particular workload, ensure that all limitations in this area are considered.

SaaS

SaaS is software that is centrally hosted and managed for you and your users or customers. Typically, the same version of the application is used for all customers and licences are granted through monthly or annual subscriptions.

SaaS has the same advantages as IaaS, but there are some other advantages worth noting.

Benefits

  • No CapEx: No upfront cost to the user.

  • Agile: Users can quickly and easily give staff access to the latest software.

  • Pay-as-you-go pricing model: Users pay for the software they use on a subscription model (usually monthly or annually), regardless of the number of times they use the software.

  • Skills: Deploying, using and reaping the benefits of SaaS does not require deep technical skills.

  • Flexibility: Users can access the same application data from any location.

Disadvantages

  • Software limitations: Software applications may have some limitations that may affect the user's work. As you are using the software as is, you do not have direct control over the functionality. When evaluating which PaaS platform is best for a particular workload, make sure you consider all business requirements and software limitations.

Comparison of cloud service models

Illustration showing the cloud responsibility model.

Serverless computing

Similar to PaaS, serverless computing enables developers to build applications faster by eliminating the need to manage infrastructure. With serverless applications, cloud service providers automatically pre-patch, scale and manage the infrastructure needed to run code. Serverless architectures are highly scalable and event-driven, using resources only when specific functions or triggers occur.

Please note that the server will still run the code. The name "serverless" comes from the fact that the tasks associated with infrastructure pre-provisioning and management are not visible to the developer. This approach allows developers to focus on business logic and deliver more value to the core of the business. Serverless computing helps teams to be more productive and get products to market faster, enabling organisations to better optimise resources and focus on innovation.